package com.cly.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cly.entity.Course;
import com.cly.statistics.SumStatistics;
import com.cly.vo.CourseVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 课程表数据层接口
 *
 * @author 春风能解释
 * <p>
 * 2024-06-06
 */
@Mapper
public interface CourseMapper extends BaseMapper<Course> {

    /**
     * 条件查询课程表
     *
     * @param page   分页条件
     * @param course 课程表实体
     * @return 课程表列表
     */
    IPage<CourseVo> selectCoursePages(@Param("page") IPage<Course> page, @Param("course") Course course);


    /**
     * 按条件记录课程表的个数
     *
     * @param course 课程表条件
     * @return 个数
     */
    Integer countCourseByCondition(Course course);

    /**
     * 课程表总数统计
     *
     * @return 课程表统计列表
     */
    List<SumStatistics<Long>> sumStatisticsCourse();
}
